﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Text;
using System.Web.UI.WebControls;
using DAL;

public partial class Form_ThanhToanCuaHang : System.Web.UI.Page
{
    GetData getData;
    protected void Page_Load(object sender, EventArgs e)
    {
        LoadHangHoa();
        CheckLoginBanking();
    }

    public void LoadHangHoa()
    {
        List<NewCart> listNewCart = (List<NewCart>)Session["Cart"];
        StringBuilder stringBuilder = new StringBuilder();
        int tongtien = 0;
        stringBuilder.Append("<table style='padding-left:5px; border:1px solid #ccccaa;width:650px;'>");
        stringBuilder.AppendFormat("<tr style='background-color: #669900;'>");
        stringBuilder.AppendFormat("<th style='width:400px;color: Blue;'>{0}</th>", "Hình sản phẩm");
        stringBuilder.AppendFormat("<th style='width:500px;color: Blue;'>{0}</th>", "Thông tin sản phẩm");
        stringBuilder.AppendFormat("<th style='width:100px;color: Blue;'>{0}</th>", "Số lượng");
        stringBuilder.AppendFormat("<th style='width:100px;color: Blue;'>{0}</th>", "Đơn giá");
        stringBuilder.AppendFormat("<th style='width:200px;color: Blue;'>{0}</th>", "Tổng tiền");
        stringBuilder.AppendFormat("<th style='width:200px;color: Blue;'>{0}</th>", "");
        stringBuilder.AppendFormat("</tr>");

        foreach (NewCart newCart in listNewCart)
        {
            int tien = newCart.SoLuong * newCart.Gia;
            stringBuilder.AppendFormat("<tr style='background-color: #99ff99;'>");
            stringBuilder.AppendFormat("<td style='padding-left:15px;'><img alt='' src='../SanPham/" + newCart.HinhAnh + "' style='width: 50px' /></td>");
            stringBuilder.AppendFormat("<td style='padding-left:15px;'>{0}</td>", newCart.TenSP);
            stringBuilder.AppendFormat("<td style='padding-left:70px;'>{0}</td>", newCart.SoLuong);
            stringBuilder.AppendFormat("<td style='padding-left:55px;'>{0}</td>", newCart.Gia.ToString("###,###"));
            stringBuilder.AppendFormat("<td style='padding-left:55px;'>{0}</td>", tien.ToString("###,###"));
            stringBuilder.AppendFormat("<td style='padding-left:15px;'><a href='{0}'>{1}</a></td>", "XoaGioHang.aspx?MaSP=" + newCart.MaSp + "", "Xóa");
            stringBuilder.AppendFormat("</tr>");
            tongtien = tongtien + (newCart.SoLuong * newCart.Gia);
        }
        stringBuilder.Append("</table>");
        stringBuilder.Append("<table style='padding-left:5px; border:1px solid #ccccaa;width:650px;'>");
        stringBuilder.AppendFormat("<tr>");
        stringBuilder.AppendFormat("<th style='color: Red;width:100px;padding-left:250px'>{0}</th>", "Tổng tiền :");
        stringBuilder.AppendFormat("<th style='color: Red;padding-left:10px'>{0}{1}</th>", tongtien.ToString("###,###"), " VND");
        stringBuilder.AppendFormat("</tr>");
        stringBuilder.Append("</table>");
        lblThanhToanTaiCuaHang.Text = stringBuilder.ToString();
    }

    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        bool check = true;
        check = CheckTaiKhoanNganHang();
        int maKH =(int)int.Parse(Session["MaKh"].ToString());
        GioHang gh = new GioHang();
        if (check == true)
        {
           gh = TaoMoiGioHang();
           if (gh != null)
           {
               Response.Redirect("ThankYou.aspx");
           }
        }
        else
        {
            lblCheckTaiKhoangNganHang.Text = "Số tiền trong tài khoàn ngân hàng của bạn không đủ để thực hiện thanh toán. Bạn vui lòng thêm tiền vào tài khoản của bạn. Cảm ơn!";
        }
        
    }


    public bool CheckTaiKhoanNganHang()
    {
      int soTienCuaNganHang = (int)int.Parse( Session["Banking"].ToString());
      int soTienMuaHang = (int)int.Parse(Session["TongTien"].ToString());
      if (soTienCuaNganHang - soTienMuaHang > 0)
      {
          return true;
      }
      else
      {
          return false;
      }
    }

    public GioHang TaoMoiGioHang()
    {
        int soTienCuaNganHang = (int)int.Parse(Session["Banking"].ToString());
        int soTienMuaHang = (int)int.Parse(Session["TongTien"].ToString());
        int maKH = (int)int.Parse(Session["MaKh"].ToString());
        getData = new GetData();
        GioHang gh = new GioHang();
        gh.DiaChiGiaoHang = txtDiaChiGiaoHang.Text;
        gh.TenNguoiNhanHang = txtTenNguoiMuaHang.Text;
        gh.NgayGiao =(DateTime)DateTime.Parse(txtNgayGioHang.Text);
        gh.NgayTao = DateTime.Now;
        gh.NhanVienGiaoHang = "Tran Ngoc Thuan";
        gh.NhanVienXacNhan = "Tran Ngoc Thuan";
        gh.MaKH = maKH;
        getData.TaoMoiGioHang(gh);
        if (gh != null)
        {
            ChiTietGioHang chiTietGioHang = new ChiTietGioHang();
            List<NewCart> listNewCart = (List<NewCart>)Session["Cart"];
            if (listNewCart.Count > 0)
            {
                foreach (NewCart nc in listNewCart)
                {
                    chiTietGioHang.MaGioHang = gh.MaGioHang;
                    chiTietGioHang.MaSP = nc.MaSp;
                    chiTietGioHang.SoLuong = nc.SoLuong;
                    chiTietGioHang.DonGia = nc.Gia;
                    getData.TaoMoiChiTietGioHang(chiTietGioHang);
                }
            }
            Banking banking = new Banking();
            banking.CustomerID = (int)int.Parse(Session["BankingID"].ToString());
            banking.Baland = soTienCuaNganHang - soTienMuaHang;
            getData.CapNhatSoTienNganHang(banking);
        }
        return gh;
    }

    public void CheckLoginBanking()
    {
       string bk = Session["Banking"].ToString();
       if (!string.IsNullOrEmpty(bk))
       {
           ThanhToanTaiCuaHang.Visible = true;
       }
       else 
       {
           Response.Redirect("Banking.aspx");
       }
    }
}